import {ACCESS_TOKEN,USER_INFO,USER_ID,USER_BASE_INFO,JUMP_LOGIN,SUPID} from './mutation-types.js'

/**
 * 获取token
 */
export function getAccessToken() {
	let token = uni.getStorageSync(ACCESS_TOKEN);
	// 同步获取
	var time = Date.parse(new Date()).toString();//获取到毫秒的时间戳，精确到毫秒
	time = time.substr(0,10);//精确到秒
	// 判断是否过期
	let cacheTime = token.token_expires
	if(time-1000 < cacheTime) {
		return token
	} else {
		// 清空缓存token
		removeBaseUser()
		removeAccessToken()
		return null
	}
}

/**
 * 设置缓存
 * @param {Object} token
 */
export function setAccessToken(token) {
	uni.setStorageSync(ACCESS_TOKEN,token)
	return token
}

/**
 * 移出
 * @param {Object} token
 */
export function removeAccessToken() {
	uni.removeStorageSync(ACCESS_TOKEN)
}
/**
 * 获取token
 */
export function getUserId() {
	// 同步获取
	return uni.getStorageSync(USER_ID);
}

/**
 * 设置缓存
 * @param {Object} token
 */
export function setUserId(id) {
	uni.setStorageSync(USER_ID,id)
	return id
}

/**
 * 获取token
 */
export function getBaseUser() {
	// 同步获取
	return uni.getStorageSync(USER_BASE_INFO);
}

/**
 * 设置缓存
 * @param {Object} token
 */
export function setBaseUser(user) {
	uni.setStorageSync(USER_BASE_INFO,user)
	return user
}

/**
 * 设置缓存
 * @param {Object} token
 */
export function removeBaseUser() {
	uni.removeStorageSync(USER_BASE_INFO)
}

/**
 * 移出
 * @param {Object} token
 */
export function removeUserId() {
	uni.removeStorageSync(USER_ID)
}

/**
 * 获取token
 */
export function getSupid() {
	// 同步获取
	return uni.getStorageSync(SUPID);
}

/**
 * 设置缓存
 * @param {Object} token
 */
export function setSupid(supid) {
	uni.setStorageSync(SUPID,supid)
	return supid
}

/**
 * 设置缓存
 * @param {Object} token
 */
export function removeSupid() {
	uni.removeStorageSync(SUPID)
}



export function setJumpLoginFlag() {
	var timestamp = Date.parse(new Date()) / 1000
	// 三秒超时
	var expire = timestamp + 3
	var value = "jump-login|" + expire
	uni.setStorageSync(JUMP_LOGIN,value)
}

export function getJumpLoginFlag() {
	var value = uni.getStorageSync(JUMP_LOGIN)
	if(value) {
		var timestamp = Date.parse(new Date()) / 1000
		var tmp = value.split("|")
		if (!tmp[1] || (tmp[1] && timestamp >= tmp[1])) {
			uni.removeStorageSync(JUMP_LOGIN)
			return null
		} else {
			return tmp[0]
		}
	}
	return null
}

export function removeJumpLoginFlag() {
	uni.removeStorageSync(JUMP_LOGIN)
}